using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Serialization;

namespace NalogGarLoader.Model.NalogServices;
#nullable disable

// NOTE: Generated code may require at least .NET Framework 4.5 or .NET Core/Standard 2.0.
/// <remarks/>
[System.SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "http://schemas.xmlsoap.org/soap/envelope/")]
[System.Xml.Serialization.XmlRootAttribute(ElementName = "Envelope", Namespace = "http://schemas.xmlsoap.org/soap/envelope/", IsNullable = false),]
public partial class GetAllDownloadFileInfoResponsesEnvelope
{

    private EnvelopeBody bodyField;

    /// <remarks/>
    public EnvelopeBody Body
    {
        get
        {
            return this.bodyField;
        }
        set
        {
            this.bodyField = value;
        }
    }
}

/// <remarks/>
[System.SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "http://schemas.xmlsoap.org/soap/envelope/")]
public partial class EnvelopeBody
{

    private GetAllDownloadFileInfoResponse getAllDownloadFileInfoResponseField;

    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute(Namespace = "https://fias.nalog.ru/WebServices/Public/DownloadService.asmx/")]
    public GetAllDownloadFileInfoResponse GetAllDownloadFileInfoResponse
    {
        get
        {
            return this.getAllDownloadFileInfoResponseField;
        }
        set
        {
            this.getAllDownloadFileInfoResponseField = value;
        }
    }
}

/// <remarks/>
[System.SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "https://fias.nalog.ru/WebServices/Public/DownloadService.asmx/")]
[System.Xml.Serialization.XmlRootAttribute(Namespace = "https://fias.nalog.ru/WebServices/Public/DownloadService.asmx/", IsNullable = false)]
public partial class GetAllDownloadFileInfoResponse
{

    private NalogDownloadFileInfo[] getAllDownloadFileInfoResultField;

    /// <remarks/>
    [System.Xml.Serialization.XmlArrayItemAttribute("DownloadFileInfo", IsNullable = false)]
    public NalogDownloadFileInfo[] GetAllDownloadFileInfoResult
    {
        get
        {
            return this.getAllDownloadFileInfoResultField;
        }
        set
        {
            this.getAllDownloadFileInfoResultField = value;
        }
    }
}

/// <remarks/>
[System.SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "https://fias.nalog.ru/WebServices/Public/DownloadService.asmx/")]
public partial class NalogDownloadFileInfo
{

    private string versionIdField;

    private string textVersionField;

    private string garXMLFullURLField;

    private string garXMLDeltaURLField;

    private string dateField;

    [XmlIgnore]
    public DateOnly GarVersion { get; set; }

    /// <remarks/>
    public string VersionId
    {
        get
        {
            return this.versionIdField;
        }
        set
        {
            this.versionIdField = value;
        }
    }

    /// <remarks/>
    public string TextVersion
    {
        get
        {
            return this.textVersionField;
        }
        set
        {
            this.textVersionField = value;
        }
    }

    /// <remarks/>
    public string GarXMLFullURL
    {
        get
        {
            return this.garXMLFullURLField;
        }
        set
        {
            this.garXMLFullURLField = value;
        }
    }

    /// <remarks/>
    public string GarXMLDeltaURL
    {
        get
        {
            return this.garXMLDeltaURLField;
        }
        set
        {
            this.garXMLDeltaURLField = value;
        }
    }

    /// <remarks/>
    public string Date
    {
        get
        {
            return this.dateField;
        }
        set
        {
            this.dateField = value;
        }
    }
}

